Ειδικά Μαθήματα Βοτανικής
Ειδικά Μαθήματα Βοτανικής
Όλα τα απαιτούμενα δεδομένα και αρχεία θα τα βρείτε στον ιστότοπο του μαθήματος στο e-class
1 Σχέση έκτασης - αριθμού ειδών
Η σχέση αυτή θεωρείται ένας από τους ελάχιστους νόμους της οικολογίας, καθώς έχει ισχύ σε όλες τις ταξινομικές βαθμίδες και όλους τους οργανισμούς. Με πολύ απλά λόγια, θεωρεί ότι όσο αυξάνεται η έκταση μιας περιοχής, τόσο περισσότερα taxa αυτή φιλοξενεί. Θα αναφερθούμε αναλυτικότερα στην επόμενη διάλεξη και προς το παρόν δεν χρειάζεται να συγκρατήσετε κάτι περισσότερο, εκτός των ακόλουθων παρατηρήσεων:
2 Προετοιμασία
2.1 Εγκατάσταση βιβλιοθήκης
Εγκατάσταση του πρώτου και κύριου πακέτου (και ενός βοηθητικού)
(Αυτό γίνεται μια φορά σε κάθε Η/Υ - εάν έχει εγκατασταθεί δεν χρειάζεται να δοθεί ξανά η εντολή αυτή)
## CRAN repository:
install.packages("easypackages", repos = "http://cran.us.r-project.org")
## Github:
devtools::install_github("drsimonj/twidlr")2.2 Φόρτωση βιβλιοθήκης
Φόρτωση του εν λόγω πακέτου
library(easypackages)2.3 Εγκατάσταση βιβλιοθηκών
Με την εντολή packages('insert_package_name_here') γίνεται η εγκατάσταση των πακέτων που μας ενδιαφέρουν
Δοκιμάστε το
2.4 Φόρτωση βιβλιοθηκών
Εντολή για φόρτωση των πακέτων
libraries("car", "psych", "tidyverse", "broom", "twidlr")2.5 Working Directory
Με την ακόλουθη εντολή, βλέπουμε σε ποιόν φάκελο δουλεύουμε:
getwd()2.6 Αλλαγή του working directory
Ενώ με την εντολή αυτή, αλλάζουμε τον φάκελο στον οποίο δουλεύουμε και αποθηκεύουμε δεδομένα
[π.χ., setwd("E:/") εάν θέλουμε να δουλεύουμε στον σκληρό δίσκο Ε]
setwd("E:/Labs")3 Δεδομένα προς ανάλυση
3.1 Εισαγωγή αρχείου
Τώρα ας εισάγουμε το αρχείο το οποίο περιέχει τα δεδομένα τα οποία μας ενδιαφέρουν να αναλύσουμε
Aegean <- readxl::read_excel("G:/Academic/Lessons/EMB/Labs/Labs/Aegean Islands.xlsx")Κάθε αρχείο πρέπει να έχει ένα όνομα στην R
Ποιό είναι το όνομα του αρχείου μας;
3.2 Δομή των δεδομένων μας
Ας δούμε τα δεδομένα τα οποία εισάγαμε στην R
Aegeanκαι τι είδους δεδομένα είναι αυτά (ποιοτικά; ποσοτικά;)
str(Aegean)## Classes 'tbl_df', 'tbl' and 'data.frame': 59 obs. of 14 variables:
## $ Island : chr "Alonissos" "Amorgos" "Anafi" "Andros" ...
## $ Area : num 65 121 38 380 19.7 ...
## $ Elevation: num 475 823 584 1003 378 ...
## $ MAT : num 111 133 139 130 139 ...
## $ MAP : num 489 498 498 393 362 ...
## $ Temp : num 161 175 181 170 181 ...
## $ Rain : num 495 528 523 463 402 ...
## $ Dis : num 4.76 10.33 21.14 9.29 1.7 ...
## $ Dm : num 41 117.8 207.1 55.6 112.2 ...
## $ Geology : num 5 5 8 6 3 1 5 4 1 10 ...
## $ Total : num 515 728 504 915 311 ...
## $ Regional : num 21 75 45 58 28 8 24 52 34 96 ...
## $ Endemics : num 18 59 35 47 25 6 15 36 17 30 ...
## $ SIE : num 0 1 0 3 1 0 0 1 0 1 ...
Μπορούσαμε να πάρουμε την πληροφορία αυτή με άλλον τρόπο;
3.3 Λιγότερα δεκαδικά
Με την ακόλουθη εντολή, θα εμφανίζονται πλέον λιγότερα δεκαδικά:
options(digits = 2)4 Προκαταρκτικές αναλύσεις
4.1 Έλεγχος κανονικότητας
4.1.1 Α
Δημιουργούμε ένα αρχείο το οποίο ελέγχει εάν όλες οι μεταβλητές μας (εκτός της πρώτης στήλης, η οποία είναι ποσοτική μεταβλητή - το όνομα των νησιών), έχουν κανονική κατανομή:
normality <- lapply(Aegean[, 2:14], shapiro.test)4.1.2 Β
Ας δούμε τα αποτελέσματα του προηγούμενου βήματος
normality## $Area
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.3, p-value = 3e-15
##
##
## $Elevation
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.8, p-value = 2e-06
##
##
## $MAT
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.8, p-value = 1e-07
##
##
## $MAP
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.9, p-value = 2e-04
##
##
## $Temp
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.8, p-value = 3e-07
##
##
## $Rain
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.9, p-value = 5e-05
##
##
## $Dis
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.8, p-value = 5e-07
##
##
## $Dm
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.9, p-value = 0.01
##
##
## $Geology
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.9, p-value = 1e-04
##
##
## $Total
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.9, p-value = 3e-04
##
##
## $Regional
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.6, p-value = 2e-11
##
##
## $Endemics
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.5, p-value = 3e-13
##
##
## $SIE
##
## Shapiro-Wilk normality test
##
## data: X[[i]]
## W = 0.2, p-value = 3e-16
Οι μεταβλητές με πιθανότητα μικρότερη από 0.05 ΔΕΝ εμφανίζουν κανονική κατανομή
4.2 Έλεγχος συσχέτισης
Ας ελέγξουμε τη συσχέτιση μεταξύ των μεταβλητών μας
Εάν κάποιες έχουν συσχέτιση \(\geq 0.8-0.9\), πρέπει να τις αφαιρέσουμε από τη μεταγενέστερη ανάλυση (Γιατί;)
corr.test(Aegean[, 2:14], method = "spearman")## Call:corr.test(x = Aegean[, 2:14], method = "spearman")
## Correlation matrix
## Area Elevation MAT MAP Temp Rain Dis Dm Geology
## Area 1.00 0.75 -0.39 0.10 -0.42 0.07 0.15 -0.41 0.79
## Elevation 0.75 1.00 -0.33 0.07 -0.38 0.04 0.04 -0.32 0.67
## MAT -0.39 -0.33 1.00 0.00 0.96 0.05 -0.23 0.46 -0.32
## MAP 0.10 0.07 0.00 1.00 0.05 0.99 0.40 -0.26 0.03
## Temp -0.42 -0.38 0.96 0.05 1.00 0.09 -0.19 0.33 -0.36
## Rain 0.07 0.04 0.05 0.99 0.09 1.00 0.38 -0.22 0.01
## Dis 0.15 0.04 -0.23 0.40 -0.19 0.38 1.00 -0.27 0.22
## Dm -0.41 -0.32 0.46 -0.26 0.33 -0.22 -0.27 1.00 -0.23
## Geology 0.79 0.67 -0.32 0.03 -0.36 0.01 0.22 -0.23 1.00
## Total 0.95 0.77 -0.42 0.09 -0.43 0.05 0.16 -0.47 0.79
## Regional 0.63 0.65 -0.19 0.11 -0.24 0.10 0.10 -0.17 0.58
## Endemics 0.43 0.45 -0.03 -0.15 -0.12 -0.15 -0.07 0.18 0.45
## SIE 0.62 0.53 -0.31 0.11 -0.32 0.09 0.35 -0.32 0.50
## Total Regional Endemics SIE
## Area 0.95 0.63 0.43 0.62
## Elevation 0.77 0.65 0.45 0.53
## MAT -0.42 -0.19 -0.03 -0.31
## MAP 0.09 0.11 -0.15 0.11
## Temp -0.43 -0.24 -0.12 -0.32
## Rain 0.05 0.10 -0.15 0.09
## Dis 0.16 0.10 -0.07 0.35
## Dm -0.47 -0.17 0.18 -0.32
## Geology 0.79 0.58 0.45 0.50
## Total 1.00 0.67 0.48 0.67
## Regional 0.67 1.00 0.77 0.53
## Endemics 0.48 0.77 1.00 0.49
## SIE 0.67 0.53 0.49 1.00
## Sample Size
## [1] 59
## Probability values (Entries above the diagonal are adjusted for multiple tests.)
## Area Elevation MAT MAP Temp Rain Dis Dm Geology Total
## Area 0.00 0.00 0.11 1.00 0.06 1.00 1.00 0.06 0.00 0.00
## Elevation 0.00 0.00 0.47 1.00 0.14 1.00 1.00 0.53 0.00 0.00
## MAT 0.00 0.01 0.00 1.00 0.00 1.00 1.00 0.02 0.54 0.06
## MAP 0.46 0.61 0.98 0.00 1.00 0.00 0.08 1.00 1.00 1.00
## Temp 0.00 0.00 0.00 0.68 0.00 1.00 1.00 0.47 0.25 0.04
## Rain 0.58 0.77 0.73 0.00 0.50 0.00 0.14 1.00 1.00 1.00
## Dis 0.27 0.75 0.08 0.00 0.15 0.00 0.00 1.00 1.00 1.00
## Dm 0.00 0.01 0.00 0.05 0.01 0.09 0.04 0.00 1.00 0.01
## Geology 0.00 0.00 0.01 0.84 0.01 0.95 0.10 0.08 0.00 0.00
## Total 0.00 0.00 0.00 0.50 0.00 0.69 0.22 0.00 0.00 0.00
## Regional 0.00 0.00 0.14 0.39 0.07 0.45 0.45 0.20 0.00 0.00
## Endemics 0.00 0.00 0.79 0.26 0.36 0.25 0.62 0.17 0.00 0.00
## SIE 0.00 0.00 0.02 0.39 0.01 0.50 0.01 0.01 0.00 0.00
## Regional Endemics SIE
## Area 0 0.04 0.00
## Elevation 0 0.02 0.00
## MAT 1 1.00 0.62
## MAP 1 1.00 1.00
## Temp 1 1.00 0.53
## Rain 1 1.00 1.00
## Dis 1 1.00 0.27
## Dm 1 1.00 0.53
## Geology 0 0.02 0.00
## Total 0 0.01 0.00
## Regional 0 0.00 0.00
## Endemics 0 0.00 0.01
## SIE 0 0.00 0.00
##
## To see confidence intervals of the correlations, print with the short=FALSE option
Διακρίνετε κάποιες μεταβλητές με τόσο μεγάλη συσχέτιση;
4.3 Οπτικοποίηση αποτελεσμάτων
Μπορούμε να οπτικοποιήσουμε τα αποτελέσματα μας και να διαπιστώσουμε εάν κάποια μεταβλητή δεν εμφανίζει κανονική κατανομή
scatterplotMatrix(Aegean[, 2:14], spread = F, smoother.args = list(lty = 2),
main = "Scatter Plot Matrix")4.4 Κανονικοποίηση των δεδομένων μας
Καθώς τα δεδομένα μας δεν έχουν κανονική κατανομή, θα πρέπει να τα κανονικοποιήσουμε. Αυτό σημαίνει ότι θα πρέπει να τα λογαριθμήσουμε. Συνεπώς, πρέπει να ελέγξουμε εάν κάποιες μεταβλητές περιέχουν το 0. Η ακόλουθη εντολή μας βοηθάει να το διαπιστώσουμε αυτό:
range(Aegean$SIE)## [1] 0 172
Κάντε το και για τις υπόλοιπες μεταβλητές (Δηλαδή:
range(Aegean$insert_IV_name_here))
4.5 Λογαρίθμηση
Εφ’όσον έχουμε ελέγξει όλες τις μεταβλητές μας, μπορούμε να τις λογαριθμήσουμε:
Aegean <- Aegean %>% mutate(Area = log10(Area), Total = log10(Total), Endemics = log10(Endemics),
Regional = log10(Regional), SIE = log10(SIE + 1))4.6 Δομή των δεδομένων μας (ξανά)
Ας δούμε τα δεδομένα μας ξανά:
Aegean5 Κυρίως ανάλυση
5.1 Μοντελοποίηση
Τώρα είμαστε πλέον σε θέση να δημιουργήσουμε 4 μοντέλα απλής γραμμικής παλινδρόμησης, ένα για κάθε κατηγορία φυτικών taxa [Συνολικός αριθμός ειδών, Ενδημικά είδη, Περιφερειακά ενδημικά είδη και Τοπικά νησιωτικά είδη (Total, Endemics, Regional & SIE, αντίστοιχα)] σε σχέση με την έκταση:
model1 <- lm(Total ~ Area, data = Aegean)
model2 <- lm(Endemics ~ Area, data = Aegean)
model3 <- lm(SIE ~ Area, data = Aegean)
model4 <- lm(Regional ~ Area, data = Aegean)5.2 Περίληψη μοντέλων
Ας δούμε την περίληψη για κάθε ένα εκ των μοντέλων μας
summary(model1)##
## Call:
## lm(formula = Total ~ Area, data = Aegean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.3426 -0.0285 0.0058 0.0519 0.2092
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.1720 0.0378 57.5 <2e-16 ***
## Area 0.3038 0.0185 16.4 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.091 on 57 degrees of freedom
## Multiple R-squared: 0.826, Adjusted R-squared: 0.823
## F-statistic: 271 on 1 and 57 DF, p-value: <2e-16
summary(model2)##
## Call:
## lm(formula = Endemics ~ Area, data = Aegean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.6269 -0.1471 0.0191 0.1973 0.5832
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9009 0.1119 8.05 5.7e-11 ***
## Area 0.2614 0.0547 4.77 1.3e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.27 on 57 degrees of freedom
## Multiple R-squared: 0.286, Adjusted R-squared: 0.273
## F-statistic: 22.8 on 1 and 57 DF, p-value: 1.3e-05
summary(model3)##
## Call:
## lm(formula = SIE ~ Area, data = Aegean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.5521 -0.2253 0.0218 0.1681 0.9415
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.7030 0.1239 -5.67 4.9e-07 ***
## Area 0.5104 0.0606 8.42 1.4e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3 on 57 degrees of freedom
## Multiple R-squared: 0.554, Adjusted R-squared: 0.547
## F-statistic: 70.9 on 1 and 57 DF, p-value: 1.38e-11
summary(model4)##
## Call:
## lm(formula = Regional ~ Area, data = Aegean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.5854 -0.1025 0.0241 0.1482 0.4550
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.9451 0.0884 10.69 3.1e-15 ***
## Area 0.3345 0.0433 7.73 1.9e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.21 on 57 degrees of freedom
## Multiple R-squared: 0.512, Adjusted R-squared: 0.503
## F-statistic: 59.8 on 1 and 57 DF, p-value: 1.92e-10
ΠΡΟΣΟΧΗ
Μας ενδιαφέρει το adjusted R squared
5.3 Δημιουργία standardized residuals
Δημιουργούμε 4 αρχεία τα οποία περιέχουν τα standardized residuals των 4 μοντέλων που δημιουργήσαμε στο βήμα 16:
res.Tot <- rstandard(model1)
res.End <- rstandard(model2)
res.SIE <- rstandard(model3)
res.Reg <- rstandard(model4)Μπορεί να γίνει σε ένα βήμα αντί για τρια:
Aegean %>% lm(Total ~ Area) %>% glance()[Μπορείτε να δείτε και τις στήλες estimate και p.value, εάν αλλάξετε το
glanceμε τοtidy. Τα standardized residuals μπορείτε να τα δείτε με την εντολήaugment(σας ενδιαφέρει η στήλη .std.resid))]
5.4 Στικτόγραμμα
Τώρα θα δημιουργήσουμε ένα στικτόγραμμα για να δούμε ποιό νησί αποτελεί θερμό σημείο φυτικής ποικιλότητας για τον συνολικό αριθμό των φυτικών taxa, καθώς και για τον αριθμό των ενδημικών taxa:
ggplot(Aegean, aes(res.Tot, res.End)) + geom_point() + geom_text(aes(label = Island),
fontface = "bold", size = 2.8, vjust = -1.2, hjust = 0.5) + geom_hline(yintercept = 0) +
geom_vline(xintercept = 0) + theme(legend.position = "none") + xlab("Native") +
ylab("Endemics")5.5 Αποθήκευση στικτογράμματος
Ας αποθηκεύσουμε την εικόνα αυτή:
ggsave("TOTAL-ENDEMICS.png", width = 20, height = 20, units = "cm", dpi = 600)5.6 Δημιουργία και αποθήκευση στικτογράμματος για τις υπόλοιπες κατηγορίες
Ας επαναλάβουμε τα βήματα 20-21 για τις υπόλοιπες κατηγορίες φυτικών taxa:
ΤΟΠΙΚΑ ΝΗΣΙΩΤΙΚΑ ΕΝΔΗΜΙΚΑ
ggplot(Aegean, aes(res.Tot, res.SIE)) + geom_point() + geom_text(aes(label = Island),
fontface = "bold", size = 2.8, vjust = -1.2, hjust = 0.5) + geom_hline(yintercept = 0) +
geom_vline(xintercept = 0) + theme(legend.position = "none") + xlab("Native") +
ylab("Single Island Endemics")ggsave("TOTAL-SIE.png", width = 20, height = 20, units = "cm", dpi = 600)ΠΕΡΙΦΕΡΕΙΑΚΑ ΕΝΔΗΜΙΚΑ
ggplot(Aegean, aes(res.Tot, res.Reg)) + geom_point() + geom_text(aes(label = Island),
fontface = "bold", size = 2.8, vjust = -1.2, hjust = 0.5) + geom_hline(yintercept = 0) +
geom_vline(xintercept = 0) + theme(legend.position = "none") + xlab("Native") +
ylab("Regional Endemics")ggsave("TOTAL-REGIONAL.png", width = 20, height = 20, units = "cm", dpi = 600)Τώρα θέλουμε να δούμε ποιό νησί είναι θερμό σημείο ΕΝΔΗΜΙΚΗΣ φυτικής ποικιλότητας:
ggplot(Aegean, aes(res.End, res.SIE)) + geom_point() + geom_text(aes(label = Island),
fontface = "bold", size = 2.8, vjust = -1.2, hjust = 0.5) + geom_hline(yintercept = 0) +
geom_vline(xintercept = 0) + theme(legend.position = "none") + xlab("Endemics") +
ylab("Single Island Endemics")ggsave("ENDEMICS-SIE.png", width = 20, height = 20, units = "cm", dpi = 600)5.7 Δημιουργία τεσσάρων μοντέλων
Δημιουργούμε 4 διαφορετικά μοντέλα (ένα για κάθε κατηγορία ειδών):
Total_mod <- lm(Total ~ Area, data = Aegean)
Endemics_mod <- lm(Endemics ~ Area, data = Aegean)
SIE_mod <- lm(SIE ~ Area, data = Aegean)
Regional_mod <- lm(Regional ~ Area, data = Aegean)και μια μεταβλητή που περιέχει τα ονόματα των νησιών (θα την χρειαστούμε αργότερα):
Island <- factor(Aegean$Island)5.8 Δημιουργία residuals (ξανά)
Δημιουργούμε τα residuals για κάθε μοντέλο και στη συνέχεια μετονομάζουμε τη μεταβλητή .std.resid για κάθε μοντέλο, ανάλογα με την κατηγορία ειδών που δουλεύουμε:
## Total number of species
Total <- cbind(Island, broom::augment(Total_mod))
Total <- rename(Total, Native_RS = .std.resid)
## Endemics
Endemics <- cbind(Island, broom::augment(Endemics_mod))
Endemics <- rename(Endemics, Endemics_RS = .std.resid)
## Single Island Endemics
SIE <- cbind(Island, broom::augment(SIE_mod))
SIE <- rename(SIE, SIE_RS = .std.resid)
## Regional Endemics
Regional <- cbind(Island, broom::augment(Regional_mod))
Regional <- rename(Regional, Regional_RS = .std.resid)και αποθηκεύουμε τις μεταβλητές που περιέχουν τα residuals για κάθε μοντελο:
Native_RS <- Total$Native_RS
Endemics_RS <- Endemics$Endemics_RS
SIE_RS <- SIE$SIE_RS
Regional_RS <- Regional$Regional_RSΤέλος, τις ενώνουμε σε ένα καινούργιο αρχείο:
Residuals <- cbind(Island, Native_RS, Endemics_RS, SIE_RS, Regional_RS)
Residuals <- as_tibble(Residuals)
Residualsκαι αντιγράφουμε την μεταβλητή Island από το αρχείο Aegean:
Residuals$Island <- Aegean$Island
Residuals| Island | Native_RS | Endemics_RS | SIE_RS | Regional_RS |
|---|---|---|---|---|
| Alonissos | -0.12 | -0.45 | -0.75 | -1.09 |
| Amorgos | 0.64 | 1.22 | -0.20 | 1.11 |
| Anafi | 0.56 | 0.87 | -0.35 | 0.86 |
| Andros | 0.06 | 0.37 | -0.04 | -0.21 |
| Antikythira | -0.81 | 0.60 | 1.17 | 0.33 |
| Antimilos | -3.90 | -1.38 | 0.84 | -1.67 |
| Antiparos | -0.65 | -0.48 | -0.29 | -0.39 |
| Astypalea | -0.57 | 0.51 | -0.03 | 0.51 |
| Chalki | -0.03 | -0.17 | -0.10 | 0.51 |
| Chios | -0.23 | -0.72 | -1.69 | 0.28 |
| Donoussa | 0.00 | 0.75 | 0.41 | 0.78 |
| Elafonissos | 2.14 | 0.99 | 1.24 | 0.86 |
| Evvia | -0.69 | 1.51 | 1.71 | 0.54 |
| Folegandros | 0.06 | 0.74 | 0.80 | 0.68 |
| Gavdos | 0.10 | 0.02 | 0.79 | -0.34 |
| Gioura | 0.84 | 0.79 | 0.59 | 0.74 |
| Gyaros | -2.58 | -1.21 | 0.26 | -1.33 |
| Ikaria | 0.49 | 0.14 | 1.61 | 0.57 |
| Ios | -0.39 | -0.20 | -1.14 | -0.51 |
| Iraklia | -0.20 | 0.57 | 0.21 | 0.32 |
| Kalymnos | 0.61 | -0.59 | -1.15 | 0.64 |
| Karpathos | 0.63 | 1.60 | 0.96 | 1.44 |
| Kasos | 0.10 | 1.14 | -0.77 | 1.02 |
| Kea | -0.47 | -0.35 | -1.29 | -0.71 |
| Keros | -0.98 | 0.79 | 0.35 | 0.87 |
| Kimolos | 0.40 | 0.47 | -0.31 | 0.25 |
| Kos | 0.60 | -2.05 | -1.88 | -0.13 |
| Kriti | -1.80 | 2.39 | 3.49 | 1.53 |
| Kyra Panagia | 0.00 | -0.04 | -0.04 | -0.53 |
| Kythira | -0.29 | 0.82 | 0.20 | 0.27 |
| Kythnos | -0.31 | 0.36 | -1.07 | 0.05 |
| Leros | 0.07 | -1.33 | -0.62 | 0.09 |
| Lesvos | -0.32 | -2.44 | -1.62 | -0.68 |
| Limnos | -2.14 | -2.28 | -1.24 | -2.81 |
| Milos | 0.27 | 0.32 | -1.39 | -0.10 |
| Mykonos | -0.01 | -0.24 | -0.96 | -0.69 |
| Naxos | 0.36 | 0.69 | 0.47 | 0.21 |
| Nisyros | 0.33 | -1.58 | -0.41 | -0.98 |
| Paros | 0.13 | 0.30 | -1.58 | -0.01 |
| Patmos | -0.62 | -1.97 | 0.76 | -1.48 |
| Polyaegos | -1.95 | -0.71 | 0.21 | -1.37 |
| Rhodos | -0.51 | 0.00 | 0.18 | 0.36 |
| Rinia | 0.70 | -0.33 | 0.41 | -0.24 |
| Samos | 1.24 | -0.04 | 1.15 | 1.31 |
| Samothraki | 2.33 | 0.11 | 2.38 | -0.08 |
| Santorini | -0.07 | -0.12 | -0.87 | -0.46 |
| Saria | 0.64 | 1.79 | 0.11 | 2.18 |
| Schinoussa | 1.44 | 1.25 | 0.84 | 1.44 |
| Serifos | 0.22 | 0.03 | -0.85 | -0.37 |
| Sifnos | 0.84 | 0.76 | 0.17 | 0.73 |
| Sikinos | 0.04 | 0.92 | 0.61 | 0.89 |
| Skiathos | 1.27 | -0.98 | 0.49 | -2.04 |
| Skopelos | 0.08 | -0.81 | -1.05 | -1.46 |
| Skyros | 0.14 | 0.14 | -0.02 | -0.33 |
| Symi | 0.20 | -0.70 | 0.35 | 1.26 |
| Syros | 0.74 | 0.33 | 0.07 | 0.11 |
| Thasos | 1.12 | -1.51 | 0.56 | -2.65 |
| Tilos | -0.32 | -0.52 | -0.71 | 0.43 |
| Tinos | 0.31 | 0.07 | -0.56 | -0.37 |
5.9 Αποθήκευση σε αρχείο excel
Αποθηκεύουμε το αποτέλεσμα ένα αρχείο excel:
write.csv(Residuals, "Residual Results.csv")και βλέπουμε ποιό νησί έχει το μεγαλύτερο residual για κάθε κατηγορία:
Residuals %>% arrange(desc(Native_RS))| Island | Native_RS | Endemics_RS | SIE_RS | Regional_RS |
|---|---|---|---|---|
| Samothraki | 2.33 | 0.11 | 2.38 | -0.08 |
| Elafonissos | 2.14 | 0.99 | 1.24 | 0.86 |
| Schinoussa | 1.44 | 1.25 | 0.84 | 1.44 |
| Skiathos | 1.27 | -0.98 | 0.49 | -2.04 |
| Samos | 1.24 | -0.04 | 1.15 | 1.31 |
| Thasos | 1.12 | -1.51 | 0.56 | -2.65 |
| Sifnos | 0.84 | 0.76 | 0.17 | 0.73 |
| Gioura | 0.84 | 0.79 | 0.59 | 0.74 |
| Syros | 0.74 | 0.33 | 0.07 | 0.11 |
| Rinia | 0.70 | -0.33 | 0.41 | -0.24 |
| Amorgos | 0.64 | 1.22 | -0.20 | 1.11 |
| Saria | 0.64 | 1.79 | 0.11 | 2.18 |
| Karpathos | 0.63 | 1.60 | 0.96 | 1.44 |
| Kalymnos | 0.61 | -0.59 | -1.15 | 0.64 |
| Kos | 0.60 | -2.05 | -1.88 | -0.13 |
| Anafi | 0.56 | 0.87 | -0.35 | 0.86 |
| Ikaria | 0.49 | 0.14 | 1.61 | 0.57 |
| Kimolos | 0.40 | 0.47 | -0.31 | 0.25 |
| Naxos | 0.36 | 0.69 | 0.47 | 0.21 |
| Nisyros | 0.33 | -1.58 | -0.41 | -0.98 |
| Tinos | 0.31 | 0.07 | -0.56 | -0.37 |
| Milos | 0.27 | 0.32 | -1.39 | -0.10 |
| Serifos | 0.22 | 0.03 | -0.85 | -0.37 |
| Symi | 0.20 | -0.70 | 0.35 | 1.26 |
| Skyros | 0.14 | 0.14 | -0.02 | -0.33 |
| Paros | 0.13 | 0.30 | -1.58 | -0.01 |
| Gavdos | 0.10 | 0.02 | 0.79 | -0.34 |
| Kasos | 0.10 | 1.14 | -0.77 | 1.02 |
| Skopelos | 0.08 | -0.81 | -1.05 | -1.46 |
| Leros | 0.07 | -1.33 | -0.62 | 0.09 |
| Andros | 0.06 | 0.37 | -0.04 | -0.21 |
| Folegandros | 0.06 | 0.74 | 0.80 | 0.68 |
| Sikinos | 0.04 | 0.92 | 0.61 | 0.89 |
| Kyra Panagia | 0.00 | -0.04 | -0.04 | -0.53 |
| Donoussa | 0.00 | 0.75 | 0.41 | 0.78 |
| Mykonos | -0.01 | -0.24 | -0.96 | -0.69 |
| Chalki | -0.03 | -0.17 | -0.10 | 0.51 |
| Santorini | -0.07 | -0.12 | -0.87 | -0.46 |
| Alonissos | -0.12 | -0.45 | -0.75 | -1.09 |
| Iraklia | -0.20 | 0.57 | 0.21 | 0.32 |
| Chios | -0.23 | -0.72 | -1.69 | 0.28 |
| Kythira | -0.29 | 0.82 | 0.20 | 0.27 |
| Kythnos | -0.31 | 0.36 | -1.07 | 0.05 |
| Tilos | -0.32 | -0.52 | -0.71 | 0.43 |
| Lesvos | -0.32 | -2.44 | -1.62 | -0.68 |
| Ios | -0.39 | -0.20 | -1.14 | -0.51 |
| Kea | -0.47 | -0.35 | -1.29 | -0.71 |
| Rhodos | -0.51 | 0.00 | 0.18 | 0.36 |
| Astypalea | -0.57 | 0.51 | -0.03 | 0.51 |
| Patmos | -0.62 | -1.97 | 0.76 | -1.48 |
| Antiparos | -0.65 | -0.48 | -0.29 | -0.39 |
| Evvia | -0.69 | 1.51 | 1.71 | 0.54 |
| Antikythira | -0.81 | 0.60 | 1.17 | 0.33 |
| Keros | -0.98 | 0.79 | 0.35 | 0.87 |
| Kriti | -1.80 | 2.39 | 3.49 | 1.53 |
| Polyaegos | -1.95 | -0.71 | 0.21 | -1.37 |
| Limnos | -2.14 | -2.28 | -1.24 | -2.81 |
| Gyaros | -2.58 | -1.21 | 0.26 | -1.33 |
| Antimilos | -3.90 | -1.38 | 0.84 | -1.67 |
6 Εργασία για το σπίτι
Έχετε διορία επτά (7) ημερών να στείλετε την εργασία σας σε μορφή PDF1 σε αυτό το e-mail και να απαντήσετε στα ακόλουθα ερωτήματα, αφού έχετε περιγράψει το σετ δεδομενων το οποίο έχετε χρησιμοποιήσει:
1. Πόσα νησιά έχει;
2. Πού βρίσκονται;
3. Ποιό είναι το μεγαλύτερο και ποιό το μικρότερο;
4. Ποιό είναι το ψηλότερο και ποιό το χαμηλότερο;
5. Ποιό είναι πιο κοντά στην ηπειρωτική ξηρά και ποιό είναι πιο μακρυά;
6. Ποιό έχει τα περισσότερα και ποιό τα λιγότερα είδη;
7. Με βάση τα όσα γνωρίζετε για τη σχέση έκτασης-αριθμού ειδών, ποιό νησί αναμένετε να χαρακτηριστεί ως θερμό σημείο ποικιλότητας και ποιό ως ψυχρό;
8. Με βάση τα αποτελέσματα σας, να φτιάξετε έναν πίνακα στον οποίο να φαίνονται οι παράμετεροι c και z της εξίσωσης \(logS = c + z \times logA\), όπως βρέθηκαν για κάθε κατηγορία ειδών (Total, Endemics, SIE, Regional), καθώς και το adjusted r2.
9. Με βάση τα αποτελέσματα σας, να φτιάξετε έναν πίνακα στον οποίο να φαίνονται ποιό νησί είναι το θερμότερο και το ψυχρότερο σημείο ποικιλότητας για κάθε κατηγορία ειδών (Total, Endemics, SIE, Regional), καθώς και για τους συνδυασμούς Total-Endemics, Total-SIE, Total-Regional, Endemics-SIE. Να παραθέσετε και τα σχετικά γραφήματα και να γράψετε εάν τα αποτελέσματα σας συμφωνούν με αυτά τα γραφήματα.
10. Εάν ένα νησί έχει έκταση 97 km2, πόσα είδη αναμένεται να έχει; Να απαντήσετε για κάθε κατηγορία ειδών (Total, Endemics, SIE, Regional).
Τα σετ δεδομένων για την εργαστηριακή άσκηση αυτή μπορείτε να τα βρείτε εδώ.
διαφορετικά δεν θα γίνει δεκτή και δεν θα βαθμολογηθείτε↩